main() {
  // 1. if单分支
  var a = 1;
  if (a == 1) {
    print('a等于1');
  }
  // 2. if双分支
  var b = 2;
  if (b == 1) {
    print('b等于1');
  } else {
    print('b不等于1');
  }

  // 三元运算符
  // 格式：条件 ? 表达式1 : 表达式2
  // 说明：如果条件为true，执行表达式1，否则执行表达式2
  var age = 18;
  var sex = age >= 18 ? '男' : '女';
  print(sex);

  // 3. if多分支
  var c = 3;
  if (c == 1) {
    print('c等于1');
  } else if (c == 2) {
    print('c等于2');
  } else {
    print('c不等于1也不等于2');
  }

  // switch case 语句
  // 根据订单状态，打印出订单状态描述信息
  // 订单状态：1为待付款、2为待发货、3为待收货、4为待评价
  int orderState = 3;
  switch (orderState) {
    case 1:
      print('待付款');
      break;
    case 2:
      print('待发货');
      break;
    case 3:
      print('待收货');
      break;
    case 4:
      print('待评价');
      break;
    default:
      print('未知订单状态');
  }


  // 4. 循环
  var d = 1;
  while (d <= 10) {
    print(d);
    d++;
  }

  // 5. do-while循环
  var e = 1;
  do {
    print(e);
    e++;
  } while (e <= 10);

  // 6. for循环
  for (var f = 1; f <= 10; f++) {
    if (f == 6) {
      break;
    }
    if (f == 3) {
      continue;
    }
    print(f);
  }

  // 7. 循环嵌套
  for (var g = 1; g <= 10; g++) {
    for (var h = 1; h <= 10; h++) {
      print('$g * $h = ${g * h}');
    }
  }

  // 函数
  // 函数
  // 格式：
  // 返回值类型 函数名(参数列表) {
  //   函数体
  //   return 返回值;
  // }
  // 说明：
  // 1. 返回值类型：函数执行完成后返回的值的类型
  // 2. 函数名：函数的名称，用于调用函数
  // 3. 参数列表：函数执行时需要的参数，多个参数之间用逗号隔开
  // 4. 函数体：函数执行的代码块
  // 5. return：用于返回函数执行完成后的值
  // 6. 返回值：函数执行完成后返回的值
  // 7. 调用函数：通过函数名加括号的方式调用函数
  // 8. 函数参数：函数执行时需要的参数，多个参数之间用逗号隔开
  // 9. 函数返回值：函数执行完成后返回的值
  // 10. 函数类型：函数的类型，分为普通函数、匿名函数、箭头函数等

  
  // 8. 循环跳出
  for (var i = 1; i <= 10; i++) {
    if (i == 5) {
      break;
    }
    print(i);
  }

  // 9. 循环跳出
  for (var j = 1; j <= 10; j++) {
    if (j == 5) {
      continue;
    }
    print(j);
  }

}